package com.yy.permissions_general.module.system.user.service;

import com.yy.permissions_general.module.system.user.entity.UserRole;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * <p>
 * 用户角色关联 服务类
 * </p>
 *
 * @author YY
 * @since 2021-10-19
 */
public interface UserRoleService extends IService<UserRole> {

    /**
    * 分页查询列表
    * @param userRole
    * @return
    */
    Page<UserRole> selectPageList(UserRole userRole, int limit, int page);

    /**
    * 新增数据
    * @param userRole
    */
    int addUserRole(UserRole userRole);

    /**
    * 修改数据
    * @param userRole
    */
    int editUserRole(UserRole userRole);

    /**
    * 查看详情
    * @param id
    * @return
    */
    UserRole getDetailsById(Integer id);

    /**
    * 删除数据
    * @param id
    * @return
    */
    int deleteById(Integer id);

    /**
    * 批量删除
    * @param ids
    * @return
    */
    int deleteBatch(List<Long> ids);

    /**
     * 绑定用户角色
     * @param userId 用户ID
     * @param roleIds 角色ids
     */
    void insertUserRole(int userId, String roleIds);

    /**
     * 删除用户所绑定的角色
     * @param userId 用户ID
     */
    int deleteByUserId(Integer userId);
}

